The inventive concepts described herein relate to a semiconductor memory device, and more particularly, to a storage device using loop status information and a bad block assigning method thereof.
Semiconductor memory devices may be classified as volatile semiconductor memory devices and as nonvolatile semiconductor memory devices. Volatile semiconductor memory devices have fast read and write speeds, but however lose data stored therein in absence of power supply. In contrast, nonvolatile semiconductor memory devices retain stored data in absence of power supply. For this reason, nonvolatile semiconductor memory devices are typically used to store information that has to be retained regardless of whether power is supplied.
Nonvolatile semiconductor memory devices typically include flash memory devices. Flash memory devices are used as voice and image data storage mediums of information devices such as computers, cellular phones, smartphones, personal digital assistants (PDAs), digital cameras, camcorders, voice recorders, MP3 players, handheld PCs, game consoles, facsimiles, scanners, and printers. Currently, high-capacity, high-speed, and low-power nonvolatile memory devices are being developed and mounted in mobile devices such as smartphones for example.
An operation of programming data in a nonvolatile memory device includes an operation of writing data in a selected memory area, and a status detecting operation of determining whether the writing of the data in the selected memory area has been performed normally. If the result of the status detecting operation indicates that the writing of the data in the selected memory area has been performed abnormally, the nonvolatile memory device determines the writing as having a program fail status. A memory area (or block) determined as having a program fail status is processed as a defective block or a bad block.
The status detecting operation includes determining whether the data are programmed within the limited number of program loops. However, the status detecting operation is limited, and can not prevent uncorrectable errors in a nonvolatile memory device in which memory cells are programmed to a plurality of target states. Integrity of data of nonvolatile memory devices may be markedly improved by detecting in advance an error that is difficult to check through the status detecting operation and assigning a block including the error as a run time bad block.